package routes

import (
	"project3/mysql"

	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

// DB 是一个全局的gorm.DB指针，用于数据库操作
var DB *gorm.DB

// 返回添加了路由的gin.Engine实例
func CollectRoutes1(r *gin.Engine) *gin.Engine {

	//数据库相关操作
	mysql.Mysql1()

	// 学生相关的路由
	student := r.Group("/student")
	{
		student.POST("/Create", mysql.Create)               // 创建学生
		student.DELETE("/delete/:Student_id", mysql.Delete) // 删除学生
		student.PUT("/PUT/:Student_id", mysql.PUT)          // 更新学生信息
		student.POST("/post/:Name", mysql.Postname)         // 可能是通过名字查询或添加学生信息
	}

	// 班级相关的路由
	class := r.Group("/class")
	{
		class.POST("/createclass", mysql.Createclss)              // 创建班级
		class.DELETE("/deleteclass/:Class_id", mysql.Deleteclass) // 删除班级
		class.PUT("/PUTclass/:Class_id", mysql.PUTclass)          // 更新班级信息
		class.POST("/QueryClass/:Class_id", mysql.QueryClass)     // 查询班级信息
	}

	// 教师相关的路由
	teacher := r.Group("/teacher")
	{
		teacher.POST("/postTeacher", mysql.Teacher)                       // 添加教师
		teacher.DELETE("/deleteteacher/:Teacher_id", mysql.Deleteteacher) // 删除教师
		teacher.PUT("/putteacher/:Teacher_id", mysql.PUTTeacher)          // 更新教师信息
		teacher.POST("/QueryTeacher/:Name", mysql.QueryTeacher)           // 通过名字查询教师
	}

	// 课程相关的路由
	course := r.Group("/course")
	{
		course.POST("/Course", mysql.AddCourse)                       // 添加课程
		course.DELETE("/DeleteCourse/:Course_id", mysql.DeleteCourse) // 删除课程
		course.PUT("/PUTCourse/:Course_id", mysql.PUTCourse)          // 更新课程信息
		course.POST("/QueryCourse/:Course_id", mysql.QueryCourse)     // 查询课程信息
	}

	// 成绩相关的路由（注意：这里应该是Grade的拼写错误，可能是Grade）
	Grade := r.Group("/Grade")
	{
		Grade.POST("/grade", mysql.Grade)                         // 这个路由的命名和用途可能需要进一步澄清
		Grade.DELETE("/DeleteGrade/:Grade_id", mysql.DeleteGrade) // 删除成绩
		Grade.POST("/UpdateGrade/:Grade_id", mysql.UpdateGrade)   // 更新成绩
		Grade.POST("/GetAllGrades", mysql.GetAllGrades)           // 获取所有成绩
		Grade.POST("/GetGradeByID/:Grade_id", mysql.GetGradeByID) // 通过ID获取成绩
	}

	return r
}
